The present disclosure relates generally to information handling systems, and more particularly to providing for layer 2 load balancing in an information handling system.
As the value and use of information continues to increase, individuals and businesses seek additional ways to process and store information. One option available to users is information handling systems. An information handling system generally processes, compiles, stores, and/or communicates information or data for business, personal, or other purposes thereby allowing users to take advantage of the value of the information. Because technology and information handling needs and requirements vary between different users or applications, information handling systems may also vary regarding what information is handled, how the information is handled, how much information is processed, stored, or communicated, and how quickly and efficiently the information may be processed, stored, or communicated. The variations in information handling systems allow for information handling systems to be general or configured for a specific user or specific use such as financial transaction processing, airline reservations, enterprise data storage, or global communications. In addition, information handling systems may include a variety of hardware and software components that may be configured to process, store, and communicate information and may include one or more computer systems, data storage systems, and networking systems.
Information handling systems such as, for example, switch devices, are often connected to groups of server devices that are configured to provide services to client devices via the switch device. In some scenarios, the switch device may have ports that are connected to the server devices via layer 2 connections (e.g., broadcast Media Access Control (MAC) level network connections) rather than layer 3 connections (e.g., segmented routing connections utilizing an Internet Protocol network.) Furthermore, it may be desirable for the server devices to provide services based on a single MAC address (e.g., a virtual MAC address) that is assigned to virtual machines that are provided by each of the server devices and that include application(s) that provide the services. However, such scenarios cause issues with load balancing traffic to the server devices via the layer 2 connections. Conventional load balancing techniques operate based on layer 3 connectivity, with hashing operations performed on data in fields of a packet header of a packet that is directed to the server devices, and the result encapsulated using a virtual IP address. However, such techniques do not work when the connections between the switch device and the server devices are layer 2 connections (e.g., the switch device is a purely layer 2 switch, the ports on the switch device are connected to the server devices via purely layer 2 connections, etc.), and the virtual machines provided on the server devices advertise a common virtual MAC address.
For example, when virtual machines provided on multiple server devices provide Gratuitous Address Resolution Protocol (GARP) communications including the same virtual MAC address (which is shared by each of those virtual machines provided by the server devices, as discussed above), as well as their mapping to an IP address (or multiple IP addresses), the switch device will interpret the same MAC address received on its different ports as a MAC-move (i.e., that the MAC address has moved from one port on the switch device to another), which results in the switch device learning the virtual MAC address on a “new” port, flushing that MAC address on the “old” port, and/or performing other MAC-move operations known in the art. As such, the switch device will be unable to perform layer 2 load balancing with packets that are directed to the server devices and, in particular, to the service being provided by an application on virtual machines provided on each of those server devices.
Accordingly, it would be desirable to provide a layer 2 load balancing system that does not suffer from the issues discussed above.